package nextoffer.didi;

import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int command = in.nextInt();
        int nums = in.nextInt();
        int [] arr = new int[n];
        for(int i = 0 ; i < n ; i++) {
            arr[i] = in.nextInt();
        }
        long day = (long) 1e14;
        long left = 0, right = day;
        while(left < right) {
            long mid = left + (right - left) / 2;
            if( check(arr, command, nums, mid) == true ) {
                right = mid;
            } else {
                left = mid + 1;
            }
        }
        System.out.println(left);
    }
    public static boolean check(int[]arr ,long a, long b, long day)  {
        int[] tmp = Arrays.copyOfRange(arr,0,arr.length);
        long cnt = 0;
        for(int i = 0 ; i < arr.length;i ++) {
            cnt += (day * tmp[i] / b);
        }
        return cnt >= a;
    }
}
